Playbook ファイルの vars_files で変数ファイルを読み込む
vars_files にファイルパスを設定する。
code:playbook_vars_files.yml
- name: Sample define vars_files
hosts: localhost
gather_facts: no
vars_files:
- myvars.yml
tasks:
- name: debug key1
debug:
msg: "{{ key1 }}"
- name: debug key2
debug:
msg: "{{ key2 }}"
code:myvars.yml
key1: value1
key2: value2
結果
code:console
$ ansible-playbook playbook_vars_files.yml
WARNING: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all'
PLAY Sample define vars_files ***********************************************************************************************************************************************************************************
TASK debug key1 *************************************************************************************************************************************************************************************************
ok: localhost => {
"msg": "value1"
}
TASK debug key2 *************************************************************************************************************************************************************************************************
ok: localhost => {
"msg": "value2"
}
PLAY RECAP ********************************************************************************************************************************************************************************************************
localhost : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
指定されたファイルが Ansible Vault で暗号化されていても、Playbook 側は特に記述を変える必要はない。
パスワードファイルを指定する場合
$ ansible-vault encrypt myvars.yml --vault-password-file mypass.txt
$ ansible-playbook playbook_vars_files.yml --vault-password-file mypass.txt
パスワードを手入力する場合
実行時だけ --ask-vault-pass オプションを付ける。
$ ansible-vault encrypt myvars.yml
$ ansible-playbook playbook_vars_files.yml --ask-vault-pass